Method and system for offline data access on computer systems

ABSTRACT

While a computer system is in operational state, a network interface controller (NIC) in the computer system may be operable to copy select data to a secondary storage device. The secondary storage device is accessible by the NIC while the computer system is in an offline state or not operational. The NIC may be operable to provide remote accessibility to the copy of the select data stored in the secondary storage device over a network while the computer system is in the offline state and the NIC is supplied with electrical power and active. While the computer system is in the operational state and whenever a change is made to the select data, the NIC is operable to replace the copy of the select data stored in the secondary storage device with an updated copy of the select data based on the change.

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This patent application makes reference to, claims priority to, andclaims benefit from U.S. Provisional Application Ser. No. 61/258,176,which was filed on Nov. 4, 2009.

The above stated application is hereby incorporated herein by referencein its entirety.

FIELD OF THE INVENTION

Certain embodiments of the invention relate to data communications. Morespecifically, certain embodiments of the invention relate to a methodand system for offline data access on computer systems.

BACKGROUND OF THE INVENTION

A computer system or computer device may be utilized to receive inputs,store and process data, and provide outputs for various applications. Acomputer system or computer device such as, for example, a desktop PC, alaptop PC, a notebook PC, a server, a workstation, a mobile computingdevice or other computing platform may comprise a storage device. Thestorage device may be coupled internally or externally to the computersystem. The storage device may store data such as, for example,persistent data which may be accessible locally or remotely over anetwork. The storage device may comprise, for example, a hard disk drive(HDD), a solid-state drive (SSD) or other nonvolatile storage devices.

Further limitations and disadvantages of conventional and traditionalapproaches will become apparent to one of skill in the art, throughcomparison of such systems with the present invention as set forth inthe remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

A system and/or method for offline data access on computer systems,substantially as shown in and/or described in connection with at leastone of the figures, as set forth more completely in the claims.

Various advantages, aspects and novel features of the present invention,as well as details of an illustrated embodiment thereof, will be morefully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an exemplary computer system thatis operable to provide offline data access on the computer system, inaccordance with an embodiment of the invention.

FIG. 2 is a block diagram illustrating an exemplary network interfacecontroller (NIC) in a computer system that is operable to provideoffline data access on the computer system, in accordance with anembodiment of the invention.

FIG. 3 is a flow chart illustrating exemplary steps for offline dataaccess on a computer system, in accordance with an embodiment of theinvention.

FIG. 4 is a flow chart illustrating exemplary steps for updating selectdata stored in a computer system while the computer system changes froman offline state to operational state, in accordance with an embodimentof the invention.

DETAILED DESCRIPTION OF THE INVENTION

Certain embodiments of the invention can be found in a method and systemfor offline data access on computer systems. In various embodiments ofthe invention, while a computer system is in operational state, anetwork interface controller (NIC) that is within the computer systemmay be operable to copy select data, which is stored in a storage devicein the computer system, to a secondary storage device. The secondarystorage device is accessible by the NIC while the computer system is inan offline state. While a computer system is in an offline state, thecomputer system is not operational and/or not ready for service. Thestorage device in the computer system is inaccessible by the NIC whenthe computer system is in the offline state. The NIC may be operable toprovide remote accessibility to the copy of the select data, which isstored in the secondary storage device, while the computer system is inthe offline state and the NIC is supplied with electrical power andactive.

While the computer system is in the operational state, the select datastored in the storage device may be identified by the NIC based on achosen attribute option associated with the select data. The attributeoption classifies the select data as offline available data. Whenever achange is made to the select data stored in the storage device, the NICis operable to replace the copy of the select data stored in thesecondary storage device with an updated copy of the select data basedon the change. The select data may comprise, for example, a photo file,a music file, a library file, a video file and/or a document file. Theselect data may comprise data that a user may require access to when thecomputer system may be offline. In other words, the select data isavailable or can be accessed even when the computer system isunavailable.

The secondary storage device which is accessible by the NIC while thecomputer system is in an offline state may be, for example, local to theNIC, and/or remote with respect to the NIC. The secondary storage devicemay comprise, for example, a plug-in memory card that is coupled locallyor remotely to the NIC, an embedded multimedia card (EMMC) that isintegrated in the computer system and/or a network-attached storage(NAS) device that is coupled to a network.

While the computer system changes from the offline state to theoperational state, the NIC may be operable to compare the copy of theselect data stored in the secondary storage device with the select datastored in the storage device. The select data stored in the storagedevice may be replaced with the copy of the select data stored in thesecondary storage device by the NIC, based on a result of the comparisonand/or a user configuration of the computer system.

FIG. 1 is a block diagram illustrating an exemplary computer system thatis operable to provide offline data access on the computer system, inaccordance with an embodiment of the invention. Referring to FIG. 1,there is shown a computer system 100, an electrical power 101, asecondary storage device 110 and a network 120. The computer system 100may comprise a NIC 102, a storage device 104, a processor 106, a memory108 and a card reader 103 b.

The computer system 100 may comprise suitable logic, interfaces,circuitry and/or code that may be operable to receive inputs, store andprocess data, and provide outputs for various applications.

The NIC 102 may comprise suitable logic, circuitry, interfaces and/orcode that may be operable to provide an interface to the network 120 andallow the processor 106 to communicate data via the network 120. In anexemplary embodiment of the invention, while the computer system 100 ispowered on and the processor 106 is in operational state, the NIC 102may be operable to copy select data from the storage device 104 andstore the copied select data in the secondary storage device 110. Thesecondary storage device 110 may be accessible by the NIC 102 while theprocessor 106 is in an offline state. While the processor 106 is in anoffline state, the processor 106 is not operational and/or not ready toprocess data. The processor 106 may be in the offline state while thecomputer 100 and/or the processor 106 is, for example, powered off. TheNIC 102 may be operable to provide remote accessibility to the copy ofthe select data stored in the secondary storage device 110 over thenetwork 120 while the processor 106 is in the offline state and the NIC102 is supplied with the electrical power 101 and active. In thisregard, for example, while the computer system 100 is powered off, theNIC 102 is still active whenever the AC power cord of the computersystem 100 remains plugged in an AC power source. The copy of the selectdata stored in the secondary storage device 110 may be accessed such as,for example, may be read, written and/or changed via the active NIC 102by a user over the network 120 without having to keep the computer 100and/or the processor 106 powered on and/or operational.

While the processor 106 is in the operational state, the select datastored in the storage device 104 may be identified by the NIC 102 basedon a chosen attribute option associated with the select data. Theattribute option classifies the select data as offline available data.Whenever a change is made to the select data stored in the storagedevice 104, the NIC 102 may be operable to replace the copy of theselect data stored in the secondary storage device 110 with an updatedcopy of the select data based on the change. The select data maycomprise, for example, a photo file, a music file, a library file, avideo file and/or a document file.

After the power of the computer system 100 is turned on and/or theprocessor 106 changes from the offline state to the operational state,the NIC 102 may be operable to compare the copy of the select datastored in the secondary storage device 110 with the select data storedin the storage device 104. The select data stored in the storage device104 may be replaced with the copy of the select data stored in thesecondary storage device 110 by the NIC 102, based on a result of thecomparison and/or a user configuration of the computer system 100. Theuser configuration may determine whether the select data may be updatedor remain unchanged when the processor 106 changes from the offlinestate to the operational state. For example, in instances when a copy ofa document file stored in the secondary storage device 110 has beenchanged, the NIC 102 may be configured to replace the original documentfile stored in the storage device 104 with the changed copy of thedocument file. Alternatively, based on the user configuration, theoriginal document file stored in the storage device 104 may remainunchanged and in turn, the NIC 102 may be operable to replace thechanged copy of the document file stored in the secondary storage device110 with the original document file stored in the storage device 104.

The storage device 104 may comprise suitable logic, circuitry,interfaces and/or code that may be operable to store data such aspersistent data that may be utilized by the processor 106. The storagedevice 104 may comprise a hard disk drive (HDD), a solid-state drive(SSD) or other nonvolatile storage devices. The storage device 104 maybe coupled internally or externally to the computer system 100. The datastored in the storage device 104 may comprise, for example, photo files,music files, video files and/or document files.

The processor 106 may comprise suitable logic, circuitry, interfacesand/or code that may be operable to process data. The processor 106 mayexecute operating system (OS) code. The OS code may enable the processor106 to perform various process tasks. The processor 106 may be in anoffline state while the computer 100 and/or the processor 106 is, forexample, powered off. While the processor 106 is in the offline state,the processor 106 is not operational and/or not ready to process data.

The memory 108 may comprise suitable logic, circuitry, interfaces and/orcode that may be operable to store information such as executableinstructions and data that may be utilized by the processor 106. Thememory 108 may comprise RAM, ROM, low latency nonvolatile memory such asflash memory and/or other suitable electrical data storage.

The secondary storage device 110 may comprise suitable logic, circuitry,interfaces and/or code that may be operable to store a copy of theselect data that is stored in the storage device 104. In an exemplaryembodiment of the invention, the secondary storage device 110 may beaccessible by the NIC 102 while the processor 106 is in an offlinestate. The secondary storage device 110 may be, for example, local tothe NIC 102. The secondary storage device 110 may also be, for example,remote with respect to the NIC 102. The secondary storage device 102 maycomprise, for example, a plug-in memory card 110 a that is coupledlocally or remotely to the NIC 102, an EMMC 110 b that is integrated inthe computer system 100 and/or a NAS device 110 c that is coupled to thenetwork 120.

The plug-in memory card 110 a may comprise suitable logic, interfaces,circuitry and/or code that may be operable to provide data storage in anon-volatile memory card. For example, the plug-in memory card 110 a maycomprise a secure digital (SD) card that may be coupled to the NIC 102via a card reader 103 a which is integrated in the NIC 102. The plug-inmemory card 110 a such as the SD card may also be, for example, coupledto the NIC 102 remotely via a card reader 103 b which may be integratedin the computer system 100.

The EMMC 110 b may comprise suitable logic, interfaces, circuitry and/orcode that may be operable to provide data storage in an embedded flashmemory card. For example, the EMMC 110 b may comprise an embedded flashmemory which may be integrated in a motherboard in the computer system110.

The NAS device 110 c may comprise suitable logic, interfaces, circuitryand/or code that may be operable to provide file-based data storage in adevice which is coupled to a network. The NAS device 110 c may usefiled-based protocols and store data in a file system. For example, theNAS device 110 c may comprise a file-based data storage device which maybe, for example, coupled to the network 120. In this regard, a user mayaccess data stored in the NAS device 110 c over the network 120, viawired, wireless and/or any other available network medium.

The network 120 may comprise suitable logic, circuitry, interfacesand/or code that may be operable to provide data communication via wiredand/or wireless technologies. The network 120 such as, for example, anInternet network may interface with the computer system 100 via the NIC102.

In operation, while the computer system 100 is powered on and theprocessor 106 is in operational state, the NIC 102 may be operable tocopy select data, which is stored in the storage device 104, to thesecondary storage device 110. The secondary storage device 110 may beaccessible by the NIC 102 while the processor 106 is in an offline stateor not operational such as, for example, while the computer 100 and/orthe processor 106 is powered off. The NIC 102 may be operable to provideremote accessibility to the copy of the select data stored in thesecondary storage device 110 over the network 120 while the processor106 is in the offline state and the NIC 102 is supplied with theelectrical power 101 and active. In this regard, for example, while thecomputer system 100 is powered off, the NIC 102 is still active wheneverthe AC power cord of the computer system 100 remains plugged in an ACpower source. The copy of the select data stored in the secondarystorage device 110 may be accessed such as, for example, may be read,written and/or changed via the active NIC 102 by a user over the network120 without having to keep the computer 100 and/or the processor 106powered on and/or operational.

While the processor 106 is in the operational state, the select datastored in the storage device 104 may be identified by the NIC 102 basedon a chosen attribute option associated with the select data. Theattribute option classifies the select data as offline available data.Whenever a change is made to the select data stored in the storagedevice 104, the NIC 102 is operable to replace the copy of the selectdata stored in the secondary storage device 110 with an updated copy ofthe select data based on the change. The select data may comprise, forexample, a photo file, a music file, a library file, a video file and/ora document file.

The secondary storage device 110 which is accessible by the NIC 102while the processor 106 is in an offline state may be, for example,local to the NIC 102. The secondary storage device 110 may also be, forexample, remote with respect to the NIC 102. The secondary storagedevice 110 may comprise, for example, a plug-in memory card 110 a thatis coupled locally or remotely to the NIC 102, an EMMC 110 b that isintegrated in the computer system 100 and/or a NAS device 110 c that iscoupled to the network 120. For example, the plug-in memory card 110 amay comprise a SD card that may be coupled to the NIC 102 via the cardreader 103 a which is integrated in the NIC 102. The plug-in memory card110 a such as the SD card may also be, for example, coupled to the NIC102 remotely via the card reader 103 b which may be integrated in thecomputer system 100. The EMMC 110 b may comprise an embedded flashmemory which may be, for example, integrated in a motherboard in thecomputer system 100. The NAS device 110 c may comprise a file-based datastorage device which may be, for example, coupled to the network 120.

After the power of the computer system 100 is turned on and/or theprocessor 106 changes from the offline state to the operational state,the NIC 102 may be operable to compare the copy of the select data,which is stored in the secondary storage device 110, with the selectdata stored in the storage device 104. The NIC 102 may be operable toreplace the select data, which is stored in the storage device 104, withthe copy of the select data, which is stored in the secondary storagedevice 110, based on a result of the comparison and/or a userconfiguration of the computer system 100. For example, in instances whena copy of a document file stored in the secondary storage device 110 hasbeen changed, the NIC 102 may be configured to replace the originaldocument file stored in the storage device 104 with the changed copy ofthe document file. Alternatively, based on the user configuration, theoriginal document file stored in the storage device 104 may remainunchanged and in turn, the NIC 102 may be operable to replace thechanged copy of the document file stored in the secondary storage device110 with the original document file stored in the storage device 104.

FIG. 2 is a block diagram illustrating an exemplary network interfacecontroller (NIC) in a computer system that is operable to provideoffline data access on the computer system, in accordance with anembodiment of the invention. Referring to FIG. 2, there is shown a NIC200, an electrical power 201, a secondary storage device 210 and anetwork 220. The NIC 200 in a computer system such as in the computersystem 100 described with respect to FIG. 1 may comprise an offlineengine 202, a NIC processor 204, a NIC memory 206 and a card reader 203.The electrical power 201 may be substantially the same as the electricalpower 101 described with respect to FIG. 1. The network 220 may besubstantially the same as the network 120 described with respect toFIG. 1. The secondary storage device 210 may be substantially the sameas the secondary storage device 110 described with respect to FIG. 1.The secondary storage device 210 may comprise a Plug-in memory card 210a, an EMMC 210 b and a NAS device 210 c. The Plug-in memory card 210 a,the EMMC 210 b and the NAS device 210 c may be substantially the same asthe Plug-in memory card 110 a, the EMMC 110 b and the NAS device 110 cdescribed with respect to FIG. 1.

The offline engine 202 may comprise suitable logic, circuitry,interfaces and/or code that may be operable to provide remoteaccessibility to a copy of select data, which is stored in the secondarystorage device 210, over the network 220, while the processor 106 is inthe offline state and the NIC 200 is supplied with the electrical power201 and is active.

In an exemplary embodiment of the invention, while the computer system100 is powered on and the processor 106 is in operational state, theoffline engine 202 may be operable to copy select data, which is storedin the storage device 104, to the secondary storage device 210. Thesecondary storage device 210 may be accessible by the offline engine 202while the processor 106 is in an offline state or not operational suchas, for example, while the computer 100 and/or the processor 106 ispowered off. The offline engine 202 may be operable to provide remoteaccessibility to the copy of the select data, which is stored in thesecondary storage device 210, over the network, 220 while the processor106 is in the offline state and the NIC 200 is supplied with theelectrical power 201 and active. In this regard, for example, while thecomputer system 100 is powered off, the NIC 200 is still active wheneverthe AC power cord of the computer system 100 remains plugged in an ACpower source. The copy of the select data stored in the secondarystorage device 210 may be accessed, such as, for example, may be read,written and/or changed, via the active offline engine 202 by a user overthe network 220 without having to keep the computer 100 and/or theprocessor 106 powered on and/or operational.

While the processor 106 is in the operational state, the select datastored in the storage device 104 may be identified by the offline engine202 based on a chosen attribute option associated with the select data.The attribute option classifies the select data as offline availabledata. Whenever a change is made to the select data stored in the storagedevice 104, the offline engine 202 is operable to replace the copy ofthe select data, which is stored in the secondary storage device 210,with an updated copy of the select data based on the change. The selectdata may comprise, for example, a photo file, a music file, a libraryfile, a video file and/or a document file.

After the power of the computer system 100 is turned on and/or theprocessor 106 changes from the offline state to the operational state,the offline engine 202 may be operable to compare the copy of the selectdata stored in the secondary storage device 210 with the select datastored in the storage device 104. The select data stored in the storagedevice 104 may be replaced with the copy of the select data stored inthe secondary storage device 210 by the offline engine 202, based on aresult of the comparison and/or a user configuration of the computersystem 100. For example, in instances when a copy of a document filestored in the secondary storage device 210 has been changed, the offlineengine 202 may be configured to replace the original document filestored in the storage device 104 with the changed copy of the documentfile. Alternatively, based on the user configuration, the originaldocument file stored in the storage device 104 may remain unchanged andin turn, the offline engine 202 may be operable to replace the changedcopy of the document file, which is stored in the secondary storagedevice 210, with the original document file stored in the storage device104.

The NIC processor 204 may comprise suitable logic, circuitry, interfacesand/or code that may be operable to process network data. In anexemplary embodiment of the invention, the NIC processor 204 maycommunicate with the offline engine 202 to process data while theprocessor 106 in the computer system 100 is in the offline state or notoperational.

The NIC memory 206 may comprise suitable logic, circuitry, interfacesand/or code that may be operable to store information such as executableinstructions and data that may be utilized by the NIC processor 204. TheNIC memory 206 may comprise RAM, ROM, low latency nonvolatile memorysuch as flash memory and/or other suitable electrical data storage.

In operation, while the computer system 100 is powered on and theprocessor 106 is in operational state, the offline engine 202 may beoperable to copy select data, which is stored in the storage device 104,to the secondary storage device 210. The secondary storage device 210may be accessible by the offline engine 202 while the processor 106 isin an offline state or not operational such as, for example, while thecomputer 100 and/or the processor 106 is powered off. The offline engine202 may be operable to provide remote accessibility to the copy of theselect data stored in the secondary storage device 210 over the network220 while the processor 106 is in the offline state and the NIC 200 issupplied with the electrical power 201 and active. In this regard, forexample, while the computer system 100 is powered off, the NIC 200 isstill active whenever the AC power cord of the computer system 100remains plugged in an AC power source. The copy of the select datastored in the secondary storage device 210 may be accessed such as, forexample, may be read, written and/or changed via the active offlineengine 202 by a user over the network 220 without having to keep thecomputer 100 and/or the processor 106 powered on and/or operational.

While the processor 106 is in the operational state, the select datastored in the storage device 104 may be identified by the offline engine202 based on a chosen attribute option associated with the select data.The attribute option classifies the select data as offline availabledata. Whenever a change is made to the select data stored in the storagedevice 104, the offline engine 202 is operable to replace the copy ofthe select data, which is stored in the secondary storage device 210,with an updated copy of the select data based on the change. The selectdata may comprise, for example, a photo file, a music file, a libraryfile, a video file and/or a document file.

The secondary storage device 210 which is accessible by the offlineengine 202 while the processor 106 is in an offline state may be, forexample, local to the NIC 200. The secondary storage device 210 may alsobe, for example, remote with respect to the NIC 200. The secondarystorage device 210 may comprise, for example, a plug-in memory card 210a that is coupled locally or remotely to the NIC 200, an EMMC 210 b thatis integrated in the computer system 100 and/or a NAS device 210 c thatis coupled to the network 220. For example, the plug-in memory card 210a may comprise a SD card that may be coupled to the NIC 200 via the cardreader 203 which is integrated in the NIC 200. The plug-in memory card210 a such as the SD card may also be, for example, coupled to the NIC200 remotely via the card reader 103 b which may be integrated in thecomputer system 100. The EMMC 210 b may comprise an embedded flashmemory which may be, for example, integrated in a motherboard in thecomputer system 100. The NAS device 210 c may comprise a file-based datastorage device which may be, for example, coupled to the network 220.

After the power of the computer system 100 is turned on and/or theprocessor 106 changes from the offline state to the operational state,the offline engine 202 may be operable to compare the copy of the selectdata, which is stored in the secondary storage device 210, with theselect data stored in the storage device 104. The select data stored inthe storage device 104 may be replaced with the copy of the select data,which is stored in the secondary storage device 210 by the offlineengine 202, based on a result of the comparison and/or a userconfiguration of the computer system 100. The user configuration maydetermine whether the select data may be updated or remain unchangedwhen the processor 106 changes from the offline state to the operationalstate. For example, in instances when a copy of a document file storedin the secondary storage device 210 has been changed, the offline engine202 may be configured to replace the original document file stored inthe storage device 104 with the changed copy of the document file.Alternatively, based on the user configuration, the original documentfile stored in the storage device 104 may remain unchanged and in turn,the offline engine 202 may be operable to replace the changed copy ofthe document file stored in the secondary storage device 210 with theoriginal document file stored in the storage device 104.

FIG. 3 is a flow chart illustrating exemplary steps for offline dataaccess on a computer system, in accordance with an embodiment of theinvention. Referring to FIG. 3, the exemplary steps start at step 301.In step 302, while a computer system 100 is in operational state, theNIC 102 in the computer system 100 may be operable to copy select data,which is stored in the computer system 100, to a secondary storagedevice 110. The secondary storage device 110 is accessible by the NIC102 while the computer system 100 is in an offline state. In step 303,while the computer system 100 is in the operational state and whenever achange is made to the select data, the NIC 102 is operable to replacethe copy of the select data stored in the secondary storage device 110with an updated copy of the select data based on the change. In step304, the NIC 102 is operable to provide remote accessibility to the copyof the select data stored in the secondary storage device 110 over anetwork 120 while the computer system 100 is in the offline state andthe NIC 102 is supplied with electrical power 101 and active. Theexemplary steps may proceed to the end step 305.

FIG. 4 is a flow chart illustrating exemplary steps for updating selectdata stored in a computer system while the computer system changes froman offline state to operational state, in accordance with an embodimentof the invention. Referring to FIG. 4, the exemplary steps start at step401. In step 402, while a computer system 100 changes from an offlinestate to operational state, the NIC 102 in the computer system 100 maybe operable to compare select data in the computer system 100 with acopy of the select data stored in a secondary storage device 110. Thesecondary storage device 110 is accessible by the NIC 102 while thecomputer system 100 is in the offline state. In step 403, it may bedetermined whether the copy of the select data stored in the secondarystorage device 110 is changed. In instances when the copy of the selectdata has been changed, the exemplary steps may proceed to step 404. Instep 404, it is determined whether an update to the select data in thecomputer system 100 is required. In instances when an update to theselect data is required, the exemplary steps may proceed to step 405. Instep 405, the NIC 102 may be operable to replace the select data in thecomputer system 100 with the changed copy of the select data stored inthe secondary storage device 110. The exemplary steps may proceed to theend step 406. In step 403, in instances when the copy of the select datahas not been changed, the exemplary steps may proceed to the end step406. In step 404, in instances when an update to the select data is notrequired, the exemplary steps may proceed to step 407. In step 407, theNIC 102 may be operable to replace the changed copy of the select datastored in the secondary storage device 110 with the select data in thecomputer system 100. The exemplary steps may proceed to the end step406.

In various embodiments of the invention, while a computer system 100 isin operational state, a NIC 102 in the computer system 100 may beoperable to copy select data, which is stored in a storage device 104 inthe computer system 100, and store the copied select data in a secondarystorage device 110. The secondary storage device 110 is accessible bythe NIC 102 while the computer system 100 is in an offline state or notoperational. The storage device 104 in the computer system 100 isinaccessible by the NIC 102 when the computer system 100 is in theoffline state. The NIC 102 may be operable to provide remoteaccessibility to the copy of the select data stored in the secondarystorage device 110 over a network 120 while the computer system 100 isin the offline state and the NIC 102 is supplied with electrical power101 and is active.

While the computer system 100 is in the operational state, the selectdata stored in the storage device 104 may be identified by the NIC 102based on a chosen attribute option associated with the select data. Theattribute option classifies the select data as offline available data.Whenever a change is made to the select data stored in the storagedevice 104, the NIC 102 is operable to replace the copy of the selectdata stored in the secondary storage device 110 with an updated copy ofthe select data based on the change. The select data may comprise, forexample, a photo file, a music file, a library file, a video file and/ora document file.

The secondary storage device 110, which is accessible by the NIC 102while the computer system 100 is in an offline state, may be, forexample, local to the NIC 102. The secondary storage device 110 may alsobe, for example, remote with respect to the NIC 102. The secondarystorage device 110 may comprise, for example, a plug-in memory card 110a that is coupled locally or remotely to the NIC 102, an EMMC 110 b thatis integrated in the computer system 100 and/or a NAS device 110 c,which is coupled to the network 120.

While the computer system 100 changes from the offline state to theoperational state, the NIC 102 may be operable to compare the copy ofthe select data stored in the secondary storage device 110 with theselect data stored in the storage device 104. The select data stored inthe storage device 104 may be replaced with the copy of the select datastored in the secondary storage device 110 by the NIC 102, based on aresult of the comparison and/or a user configuration of the computersystem 100.

Other embodiments of the invention may provide a non-transitory computerreadable medium and/or storage medium, and/or a non-transitory machinereadable medium and/or storage medium, having stored thereon, a machinecode and/or a computer program having at least one code sectionexecutable by a machine and/or a computer, thereby causing the machineand/or computer to perform the steps as described herein for offlinedata access on computer systems.

Accordingly, the present invention may be realized in hardware,software, or a combination of hardware and software. The presentinvention may be realized in a centralized fashion in at least onecomputer system or in a distributed fashion where different elements arespread across several interconnected computer systems. Any kind ofcomputer system or other apparatus adapted for carrying out the methodsdescribed herein is suited. A typical combination of hardware andsoftware may be a general-purpose computer system with a computerprogram that, when being loaded and executed, controls the computersystem such that it carries out the methods described herein.

The present invention may also be embedded in a computer programproduct, which comprises all the features enabling the implementation ofthe methods described herein, and which when loaded in a computer systemis able to carry out these methods. Computer program in the presentcontext means any expression, in any language, code or notation, of aset of instructions intended to cause a system having an informationprocessing capability to perform a particular function either directlyor after either or both of the following: a) conversion to anotherlanguage, code or notation; b) reproduction in a different materialform.

While the present invention has been described with reference to certainembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted withoutdeparting from the scope of the present invention. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the present invention without departing from its scope.Therefore, it is intended that the present invention not be limited tothe particular embodiment disclosed, but that the present invention willinclude all embodiments falling within the scope of the appended claims.

What is claimed is:
 1. A method for data communication, the methodcomprising: selecting data by a network interface controller (NIC);copying said selected data, by a processor that is powered on for anoperational state, from a storage device to a secondary storage devicecoupled to a computer device, said NIC, said processor, and said storagedevice being included within said computer device; accessing saidsecondary storage device by said NIC while said processor is powered offfor an offline state, said storage device being inaccessible by said NICwhen said processor is in said offline state, wherein said secondarystorage device is remote with respect to said NIC; and providing, viasaid NIC, remote accessibility to said copied selected data stored insaid secondary storage device while said processor is in said offlinestate and while said NIC is powered on for an active state.
 2. Themethod according to claim 1, comprising, while said processor is in saidoperational state, identifying said selected data stored in said storagedevice based on a chosen attribute option associated with said selecteddata, wherein said chosen attribute option classifies said selected dataas offline available data.
 3. The method according to claim 1,comprising, while said processor is in said operational state andwhenever a change is made to said selected data stored in said storagedevice, replacing said copied selected data stored in said secondarystorage device with an updated copy of said selected data based on saidchange.
 4. The method according to claim 1, wherein said secondarystorage device comprises a plug-in memory card that is coupled locallyor remotely to the NIC.
 5. The method according to claim 1, wherein saidsecondary storage device comprises an embedded multimedia card (EMMC)that is integrated in said computer device.
 6. The method according toclaim 1, wherein said secondary storage device comprises anetwork-attached storage (NAS) device that is coupled to a network. 7.The method according to claim 1, comprising, while said processorchanges from said offline state to said operational state: comparingsaid copied selected data stored in said secondary storage device withsaid selected data stored in said storage device; and replacing saidselected data stored in said storage device with said copied selecteddata stored in said secondary storage device based on said comparison ora user configuration of said computer device.
 8. The method according toclaim 1, wherein said selected data is selected from a group consistingof a photo file, a music file, a library file, a video file and adocument file.
 9. A system for data communication, the systemcomprising: one or more processors, one or more circuits, or anycombination thereof for use in a network interface controller (NIC) thatis operational within a computer device, said one or more processors,one or more circuits, or any combination thereof, being operable to:select data by said NIC, said NIC being configured to provide aninterface to a wireless network to facilitate communication by saidprocessor over said wireless network; copy said selected data, while aprocessor is powered on for an operational state, from a storage deviceto a secondary storage device coupled to said computer device, said NIC,said processor, and said storage device being included within saidcomputer device; access said secondary storage device by said NIC whilesaid processor is powered off for an offline state, said storage devicebeing inaccessible by said NIC when said processor is in said offlinestate; and provide, via said NIC, remote accessibility to said copiedselected data stored in said secondary storage device over said wirelessnetwork while said processor is in said offline state and while said NICis powered on for an active state.
 10. The system according to claim 9,wherein, while said processor is in said operational state, said one ormore processors, one or more circuits, or any combination thereof areoperable to identify said selected data stored in said storage devicebased on a chosen attribute option associated with said selected data,wherein said chosen attribute option classifies said selected data asoffline available data.
 11. The system according to claim 9, wherein,while said processor is in said operational state and whenever a changeis made to said selected data stored in said storage device, said one ormore processors, one or more circuits, or any combination thereof areoperable to replace said copied selected data stored in said secondarystorage device with an updated copy of said selected data based on saidchange.
 12. The system according to claim 9, wherein said secondarystorage device is local to said NIC.
 13. The system according to claim9, wherein said secondary storage device is remote with respect to saidNIC.
 14. The system according to claim 9, wherein said secondary storagedevice comprises a plug-in memory card that is coupled locally orremotely to the NIC.
 15. The system according to claim 9, wherein saidsecondary storage device comprises an embedded multimedia card (EMMC)that is integrated in said computer device.
 16. The system according toclaim 9, wherein said secondary storage device comprises anetwork-attached storage (NAS) device that is coupled to a network. 17.The system according to claim 9, wherein, while said processor changesfrom said offline state to said operational state, said one or moreprocessors, one or more circuits, or any combination thereof, areoperable to: compare said copied selected data stored in said secondarystorage device with said selected data stored in said storage device;and replace said selected data stored in said storage device with saidcopied selected data stored in said secondary storage device based onsaid comparison or a user configuration of said computer device.
 18. Thesystem according to claim 9, wherein said selected data is selected froma group consisting of a photo file, a music file, a library file, avideo file and a document file.
 19. A computer device comprising: meansfor selecting data by a network interface controller (NIC); means forcopying selected data, by a processor that is powered on for anoperational state, from a storage device to a secondary storage devicecoupled to said computer device, said NIC, said processor, and saidstorage device being included within said computer device; means foraccessing said secondary storage device by said NIC while said processoris powered off for an offline state, said storage device beinginaccessible by said NIC when said processor is in said offline state;and means for providing, via said NIC, remote accessibility to saidcopied selected data stored in said secondary storage device over aninternet network to a remote computer device while said processor is insaid offline state and while said NIC is powered on for an active state.